import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import org.jdesktop.application.Application;
import javax.swing.SwingUtilities;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

import org.jvnet.substance.*;
import org.jvnet.substance.button.StandardButtonShaper;
import org.jvnet.substance.theme.*;
import org.jvnet.substance.watermark.*;
import org.jvnet.substance.theme.transform.*;
import org.jvnet.substance.utils.SubstanceConstants;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class frmOperacionesEstudiante extends javax.swing.JFrame {
	private JPanel pnlOperacionesEstudiante;
	private JPanel pnlInscribirEstudiantes;
	
	private JButton btnInscribir;
	private JButton btnMostrarListado;
	private JButton btnCancelarEstudiante;
	private JButton btnAceptarEstudiante;
	private JButton btnAplicarEvaluacion;
	private JButton btnRetirar;
	private JButton btnBuscarAlumno;
	
	private JLabel lblBusquedaApellido;
	private JLabel lblBusquedaNombre;
	private JLabel lblBusquedaCedula;
	private JLabel lblApellidoEstudiante;
	private JLabel lblNombreEstudiante;
	private JLabel lblCedulaEstudiante;
	private JList lstMostrarInscritos;
	
	private JPanel pnlResultadoBusqueda;
	
	private JTextField txtEscribirCedula;
	private JTextField txtCedula;
	private JTextField txtEscribirApellido;
	private JTextField txtEscribirNombre;
	
	
	
	

	
	public frmOperacionesEstudiante() {
		super("Operaciones con Alumno");
		initGUI();
		this.setResizable(false);
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				pnlOperacionesEstudiante = new JPanel();
				getContentPane().add(pnlOperacionesEstudiante, BorderLayout.CENTER);
				pnlOperacionesEstudiante.setBackground(new java.awt.Color(255, 255, 255));
				pnlOperacionesEstudiante.setLayout(null);
				pnlOperacionesEstudiante.setPreferredSize(new java.awt.Dimension(1000, 431));
				{
					txtCedula = new JTextField();
					pnlOperacionesEstudiante.add(txtCedula);
					txtCedula.setText("");
					txtCedula.setBounds(41, 24, 227, 34);
					txtCedula.setToolTipText("Ingrese la cedula a buscar");
				}
				{
					Icon buscarOperacion = new ImageIcon(getClass().getResource("src/resources/Imagenes/buscar20x20.png"));
					btnBuscarAlumno = new JButton("Buscar", buscarOperacion);
					btnBuscarAlumno.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
					pnlOperacionesEstudiante.add(btnBuscarAlumno);
					btnBuscarAlumno.setBounds(280, 24, 109, 34);
					btnBuscarAlumno.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							
							frmMenuPrincipal.seccion.setEncontrado(true);
							frmMenuPrincipal.seccion.busquedaCi(txtCedula.getText());
							int posicion = frmMenuPrincipal.seccion.getPosicion();
							if(frmMenuPrincipal.seccion.isEncontrado() != true){
								frmMensaje frmEstudianteNoEncontrado = new frmMensaje();
								frmEstudianteNoEncontrado.getLblMensaje().setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
								frmEstudianteNoEncontrado.getLblMensaje().setFont(new Font("Courier 10 Pitch", java.awt.Font.BOLD, 24));
								frmEstudianteNoEncontrado.getLblMensaje().setText("El Estudiante No esta Inscrito");
								frmEstudianteNoEncontrado.setVisible(true);
								}
							else{
								lblBusquedaCedula.setText("Cédula: "+frmMenuPrincipal.seccion.getVectorPrincipal().elementAt(posicion).getCI());
								lblBusquedaNombre.setText("Nombre: "+frmMenuPrincipal.seccion.getVectorPrincipal().elementAt(posicion).getNom());
								lblBusquedaApellido.setText("Apellido: "+frmMenuPrincipal.seccion.getVectorPrincipal().elementAt(posicion).getApe());
								
								}
							
							//System.out.println("btnBuscarAlumno.actionPerformed, event="+evt);
							//TODO add your code for btnBuscarAlumno.actionPerformed
						}
					});
				}
				{
					Icon inscribirOperacion = new ImageIcon(getClass().getResource("src/resources/Imagenes/inscribir30x30.png"));
					btnInscribir = new JButton("Inscribir", inscribirOperacion);
					btnInscribir.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
					btnInscribir.putClientProperty(SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.LEFT);
					pnlOperacionesEstudiante.add(btnInscribir);
					btnInscribir.setBounds(407, 81, 205, 38);
					btnInscribir.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							pnlInscribirEstudiantes.setVisible(true);
							txtEscribirCedula.setText(frmOperacionesEstudiante.this.txtCedula.getText());
							txtCedula.setText("");
							
							
							//System.out.println("btnInscribir.actionPerformed, event="+evt);
							//TODO add your code for btnInscribir.actionPerformed
						}
					});
				}
				{
					Icon retirarOperacion = new ImageIcon(getClass().getResource("src/resources/Imagenes/retirar30x30.png"));
					btnRetirar = new JButton("Retirar",retirarOperacion);
					btnRetirar.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
					btnRetirar.putClientProperty(SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.LEFT);
					pnlOperacionesEstudiante.add(btnRetirar);
					btnRetirar.setBounds(407, 130, 205, 38);
					btnRetirar.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							if(frmMenuPrincipal.seccion.validarInscritos()){
								frmMenuPrincipal.seccion.retirarEstudiante(frmOperacionesEstudiante.this.txtCedula.getText());
								
								frmMensaje frmEstudianteRetirado = new frmMensaje();
								frmEstudianteRetirado.getLblMensaje().setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
								frmEstudianteRetirado.getLblMensaje().setFont(new Font("Courier 10 Pitch", java.awt.Font.BOLD, 24));
								frmEstudianteRetirado.getLblMensaje().setText("El Estudiante fue Retirado");
								frmEstudianteRetirado.setVisible(true);
							}
							else{
								frmMensajeError frmError = new frmMensajeError();
								frmError.getLblMensajeError().setText("Debe Inscribir al menos un(1) Estudiante");
								frmError.setDefaultLookAndFeelDecorated(true);
								SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
								SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
								SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
								frmError.setLocationRelativeTo(null);
								frmError.setVisible(true);
							}
							
							//System.out.println("btnRetirar.actionPerformed, event="+evt);
							//TODO add your code for btnRetirar.actionPerformed
						}
					});
				}
				
				{
					pnlInscribirEstudiantes = new JPanel();
					//pnlInscribirEstudiantes.setEnabled(false);
					pnlOperacionesEstudiante.add(pnlInscribirEstudiantes);
					pnlInscribirEstudiantes.setBorder(BorderFactory.createTitledBorder("Inscribir Estudiante"));
					pnlInscribirEstudiantes.setLayout(null);
					pnlInscribirEstudiantes.setBackground(new java.awt.Color(255, 255, 255));
					pnlInscribirEstudiantes.setBounds(623, 24, 378, 287);
					
					{
						lblCedulaEstudiante = new JLabel();
						pnlInscribirEstudiantes.add(lblCedulaEstudiante);
						lblCedulaEstudiante.setForeground(new java.awt.Color(0, 0, 0));
						lblCedulaEstudiante.setFont(new Font("Bitstream Charter", java.awt.Font.BOLD, 20));
						lblCedulaEstudiante.setBounds(11, 53, 83, 26);
						lblCedulaEstudiante.setName("lblCedulaEstudiante");
					}
					{
						lblNombreEstudiante = new JLabel();
						pnlInscribirEstudiantes.add(lblNombreEstudiante);
						lblNombreEstudiante.setForeground(new java.awt.Color(0, 0, 0));
						lblNombreEstudiante.setFont(new Font("Bitstream Charter", java.awt.Font.BOLD, 20));
						lblNombreEstudiante.setBounds(11, 99, 88, 24);
						lblNombreEstudiante.setName("lblNombreEstudiante");
					}
					{
						lblApellidoEstudiante = new JLabel();
						pnlInscribirEstudiantes.add(lblApellidoEstudiante);
						lblApellidoEstudiante.setForeground(new java.awt.Color(0, 0, 0));
						lblApellidoEstudiante.setFont(new Font("Bitstream Charter", java.awt.Font.BOLD, 20));
						lblApellidoEstudiante.setBounds(11, 148, 101, 27);
						lblApellidoEstudiante.setName("lblApellidoEstudiante");
					}
					{
						txtEscribirCedula = new JTextField();
						pnlInscribirEstudiantes.add(txtEscribirCedula);
						txtEscribirCedula.setBounds(117, 53, 136, 29);
						txtEscribirCedula.setName("txtEscribirCedula");
					}
					{
						txtEscribirNombre = new JTextField();
						pnlInscribirEstudiantes.add(txtEscribirNombre);
						txtEscribirNombre.setBounds(117, 97, 203, 31);
						txtEscribirNombre.setName("txtEscribirNombre");
					}
					{
						txtEscribirApellido = new JTextField();
						pnlInscribirEstudiantes.add(txtEscribirApellido);
						txtEscribirApellido.setBounds(118, 147, 203, 30);
						txtEscribirApellido.setName("txtEscribirApellido");
					}
					{
						Icon aceptarEstudiante = new ImageIcon(getClass().getResource("src/resources/Imagenes/aceptar20x20.png"));
						btnAceptarEstudiante = new JButton("Aceptar", aceptarEstudiante);
						pnlInscribirEstudiantes.add(btnAceptarEstudiante);
						btnAceptarEstudiante.putClientProperty( SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
						btnAceptarEstudiante.putClientProperty( SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.BOTTOM);
						btnAceptarEstudiante.setBounds(52, 231, 139, 35);
						btnAceptarEstudiante.setName("btnAceptarEstudiante");
						btnAceptarEstudiante.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								
								
								if((txtEscribirCedula.getText() != "") || (txtEscribirNombre.getText() != "") || (txtEscribirApellido.getText() != "")){
									if((frmMenuPrincipal.seccion.validarEntradaLetras(txtEscribirNombre.getText())) && (frmMenuPrincipal.seccion.validarEntradaLetras(txtEscribirApellido.getText())) && (frmMenuPrincipal.seccion.validarNumeros(txtEscribirCedula.getText()))){
										Alumno estudiante = new Alumno(frmOperacionesEstudiante.this.txtEscribirCedula.getText(), frmOperacionesEstudiante.this.txtEscribirNombre.getText(), frmOperacionesEstudiante.this.txtEscribirApellido.getText());
										frmMenuPrincipal.seccion.inscribirEstudiante(estudiante);
										txtEscribirCedula.setText("");
										txtEscribirNombre.setText("");
										txtEscribirApellido.setText("");
										frmMensaje frmEstudianteInscrito = new frmMensaje();
										frmEstudianteInscrito.getLblMensaje().setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
										frmEstudianteInscrito.getLblMensaje().setFont(new Font("Courier 10 Pitch", java.awt.Font.BOLD, 24));
										frmEstudianteInscrito.getLblMensaje().setText("El Estudiante fue Inscrito Exitosamente");
										frmEstudianteInscrito.setVisible(true);
										frmEstudianteInscrito.setDefaultLookAndFeelDecorated(true);
										SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
										SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
										SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
										frmEstudianteInscrito.setLocationRelativeTo(null);
										
									}
									else{
										frmMensajeError frmError = new frmMensajeError();
										frmError.getLblMensajeError().setText("Existen datos no permitidos. Por favor verifique");
										frmError.setDefaultLookAndFeelDecorated(true);
										SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
										SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
										SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
										frmError.setLocationRelativeTo(null);
										frmError.setVisible(true);
									}
								}
								else{
									frmMensajeError frmError = new frmMensajeError();
									frmError.getLblMensajeError().setText("Existen campos sin datos");
									frmError.setDefaultLookAndFeelDecorated(true);
									SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
									SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
									SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
									frmError.setLocationRelativeTo(null);
									frmError.setVisible(true);
								}
								
								//System.out.println("btnAceptarEstudiante.actionPerformed, event="+evt);
								//TODO add your code for btnAceptarEstudiante.actionPerformed
							}
						});

					}
					{
						Icon cancelarEstudiante = new ImageIcon(getClass().getResource("src/resources/Imagenes/cancelar30x30.png"));
						btnCancelarEstudiante = new JButton("Cancelar", cancelarEstudiante);
						pnlInscribirEstudiantes.add(btnCancelarEstudiante);
						btnCancelarEstudiante.putClientProperty( SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
						btnCancelarEstudiante.putClientProperty( SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.BOTTOM);
						btnCancelarEstudiante.setBounds(222, 231, 133, 35);
						btnCancelarEstudiante.setName("btnLimpiarEstudiante");
						btnCancelarEstudiante.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								txtEscribirCedula.setText("");
								txtEscribirNombre.setText("");
								txtEscribirApellido.setText("");
								//frmOperacionesEstudiante.this.pnlInscribirEstudiantes.setEnabled(false);
								//System.out.println("btnLimpiarEstudiante.actionPerformed, event="+evt);
								//TODO add your code for btnLimpiarEstudiante.actionPerformed
							}
						});
					}

				}
				{
					Icon MostrarListado = new ImageIcon(getClass().getResource("src/resources/Imagenes/listados30x30.png"));
					btnMostrarListado = new JButton("Listados", MostrarListado);
					pnlOperacionesEstudiante.add(btnMostrarListado);
					btnMostrarListado.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
					btnMostrarListado.putClientProperty(SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.LEFT);
					btnMostrarListado.setBounds(407, 236, 205, 38);
					btnMostrarListado.setVisible(false);
					btnMostrarListado.setName("btnMostrarListado");
					btnMostrarListado.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							frmMenuPrincipal.seccion.ordenadosCedula(frmMenuPrincipal.seccion, frmMenuPrincipal.profe);
							frmListado frmMostrarListados = new frmListado();
							frmMostrarListados.getLblNumeroSeccion().setText(frmMenuPrincipal.seccion.getNumero());
							frmMostrarListados.getLblProfesorCompleto().setText(frmMenuPrincipal.profe.getTitulo()+" "+frmMenuPrincipal.profe.getNom()+" "+frmMenuPrincipal.profe.getApe());
							frmMostrarListados.getLblContarMatricula().setText(""+frmMenuPrincipal.seccion.getVectorPrincipal().size()+" Alumnos");
							
							
							frmMostrarListados.setDefaultLookAndFeelDecorated(true);
							SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
							SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
							SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
							frmMostrarListados.setLocationRelativeTo(null);
							frmMostrarListados.setVisible(true);
							
							//System.out.println("btnMostrarListado.actionPerformed, event="+evt);
							//TODO add your code for btnMostrarListado.actionPerformed
						}
					});
				}
				{
					pnlResultadoBusqueda = new JPanel();
					pnlOperacionesEstudiante.add(pnlResultadoBusqueda);
					pnlResultadoBusqueda.setBorder(BorderFactory.createTitledBorder("Resultado de la Busqueda"));
					pnlOperacionesEstudiante.setBackground(new java.awt.Color(255, 255, 255));
					pnlResultadoBusqueda.setLayout(null);
					pnlResultadoBusqueda.setBounds(24, 69, 371, 208);
					{
						lblBusquedaCedula = new JLabel();
						pnlResultadoBusqueda.add(lblBusquedaCedula);
						lblBusquedaCedula.setBounds(17, 46, 337, 26);
					}
					{
						lblBusquedaNombre = new JLabel();
						pnlResultadoBusqueda.add(lblBusquedaNombre);
						lblBusquedaNombre.setBounds(17, 97, 337, 27);
						lblBusquedaNombre.setName("lblBusquedaNombre");
					}
					{
						lblBusquedaApellido = new JLabel();
						pnlResultadoBusqueda.add(lblBusquedaApellido);
						lblBusquedaApellido.setBounds(17, 151, 337, 28);
					}
				}
				{
					Icon aplicarevaluacion = new ImageIcon(getClass().getResource("src/resources/Imagenes/aplicarevaluacion30x30.png"));
					btnAplicarEvaluacion = new JButton("Aplicar Evaluaciones", aplicarevaluacion);
					btnAplicarEvaluacion.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
					btnAplicarEvaluacion.putClientProperty(SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.LEFT);
					pnlOperacionesEstudiante.add(btnAplicarEvaluacion);
					btnAplicarEvaluacion.setBounds(407, 185, 205, 38);
					btnAplicarEvaluacion.setName("btnAplicarEvaluacion");
					btnAplicarEvaluacion.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							if(frmMenuPrincipal.seccion.validarInscritos()){
								frmMenuPrincipal.seccion.AplicarEvaluacion();
								frmMenuPrincipal.seccion.ordenadosNotaFinal(frmMenuPrincipal.seccion, frmMenuPrincipal.profe);
								frmMenuPrincipal.seccion.listadoAprobado(frmMenuPrincipal.seccion, frmMenuPrincipal.profe);
							    frmMenuPrincipal.seccion.listadoReprobado(frmMenuPrincipal.seccion, frmMenuPrincipal.profe);
								frmMensaje frmEvaluacionAplicada = new frmMensaje();
								frmEvaluacionAplicada.getLblMensaje().setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
								frmEvaluacionAplicada.getLblMensaje().setFont(new Font("Courier 10 Pitch", java.awt.Font.BOLD, 18));
								frmEvaluacionAplicada.getLblMensaje().setText("Las Evaluaciones fueron Aplicadas con Exito");
								frmEvaluacionAplicada.setVisible(true);
								
								btnMostrarListado.setVisible(true);
							}
							else{
								frmMensajeError frmError = new frmMensajeError();
								frmError.getLblMensajeError().setText("Debe Inscribir al menos un(1) Estudiante");
								frmError.setDefaultLookAndFeelDecorated(true);
								SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.RavenGraphiteGlassSkin");
								SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
								SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceBinaryWatermark");
								frmError.setLocationRelativeTo(null);
								frmError.setVisible(true);
							}
							
							
							//System.out.println("btnAplicarEvaluacion.actionPerformed, event="+evt);
							//TODO add your code for btnAplicarEvaluacion.actionPerformed
						}
					});
				}

			}
			pack();
			this.setSize(1028, 384);
			Application.getInstance().getContext().getResourceMap(getClass()).injectComponents(getContentPane());
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}


	public JLabel getLblBusquedaApellido() {
		return lblBusquedaApellido;
	}

	public void setLblBusquedaApellido(JLabel lblBusquedaApellido) {
		this.lblBusquedaApellido = lblBusquedaApellido;
	}

	public JLabel getLblBusquedaNombre() {
		return lblBusquedaNombre;
	}

	public void setLblBusquedaNombre(JLabel lblBusquedaNombre) {
		this.lblBusquedaNombre = lblBusquedaNombre;
	}

	public JLabel getLblBusquedaCedula() {
		return lblBusquedaCedula;
	}

	public void setLblBusquedaCedula(JLabel lblBusquedaCedula) {
		this.lblBusquedaCedula = lblBusquedaCedula;
	}

}
